package perucuy.dao.sqlmap;

import java.util.HashMap;
import java.util.List;

import org.apache.log4j.Logger;
import perucuy.dao.NutrienteDAO;
import perucuy.transfers.NutrienteTO;
import static perucuy.utils.Funciones.getTipoFecha;
public class SqlMapNutrienteDAO extends SqlMapDAO implements NutrienteDAO {
    
    private static Logger log = Logger.getLogger(SqlMapNutrienteDAO.class);
    
    private static final NutrienteDAO dao = new SqlMapNutrienteDAO();
    
    private SqlMapNutrienteDAO() {
        super(SqlMapDAOFactory.getSqlMap());
        log.debug("dao nutriente instanciado");
    }
    
    public void close() {
        log.debug("cerrando");
    }
    
    public static NutrienteDAO getInstance() {
        return dao;
    }
    
    public List listado() {
        return consultaEnLista("getListaNutriente", null);
    }
    
    public void create(NutrienteTO nutriente) {
        String id = "" + insert("insertNutriente", nutriente);
        nutriente.setNCodNutriente(Integer.parseInt(id));
    }

    public void actualizar(NutrienteTO nutriente){
        update("update-nutriente", nutriente);
    }
    
    public NutrienteTO dameNutriente(int id){
        HashMap<String, Integer> hm = new HashMap<String, Integer>();
        hm.put("id", id);
        NutrienteTO t = queryForObject("getNutriente", hm);
        return t;
    }
    
    public int eliminarNutriente(int id){
        HashMap hm = new HashMap();
        hm.put("id", id);
        return delete("deleteNutriente", hm);
    }
    
    public List listado(int campo, String valor) {
        HashMap hm = new HashMap();
        hm.put("campo", campo);
        if (campo==2)
            hm.put("valor", getTipoFecha(valor));
        else
            hm.put("valor", valor);
        return consultaEnLista("getListaNutriente", hm);
    }
}
